import request from '@/config/axios'

// 3d模型 VO
export interface ModelVO {
  id: number // 模型Id
  name: string // 文件名称
  key: string // 文件值
  fileType: string // 文件类型（普通、动画）
  animation: boolean // 动画
  filePath: string // 文件路径
  icon: string // 文件图标
  isShare: boolean // 是否分享
  shareUserIds: string // 分享用户
  userId: number // 用户Id
}

// 3d模型 API
export const ModelApi = {
  // 查询3d模型分页
  getModelPage: async (params: any) => {
    return await request.get({ url: `/three/model/page`, params })
  },

  // 查询3d模型详情
  getModel: async (id: number) => {
    return await request.get({ url: `/three/model/get?id=` + id })
  },

  // 新增3d模型
  createModel: async (data: ModelVO) => {
    return await request.post({ url: `/three/model/create`, data })
  },

  // 修改3d模型
  updateModel: async (data: ModelVO) => {
    return await request.put({ url: `/three/model/update`, data })
  },

  // 删除3d模型
  deleteModel: async (id: number) => {
    return await request.delete({ url: `/three/model/delete?id=` + id })
  },

  // 导出3d模型 Excel
  exportModel: async (params) => {
    return await request.download({ url: `/three/model/export-excel`, params })
  },
}
// 3d模型展示 VO
export interface ViewVO {
  id: number // 模型Id
  name: string // 文件名称
  key: string // 文件值
  fileType: string // 文件类型（普通、动画）
  animation: boolean // 动画
  filePath: string // 文件路径
  icon: string // 文件图标
  content: string,
  isShare: boolean // 是否分享
  shareUserIds: string // 分享用户
  userId: number // 用户Id
}

// 3d模型 API
export const ViewApi = {
  // 查询3d模型分页
  getViewPage: async (params: any) => {
    return await request.get({ url: `/three/view/page`, params })
  },

  // 查询3d模型详情
  getView: async (id: number) => {
    return await request.get({ url: `/three/view/get?id=` + id })
  },

  // 新增3d模型
  createView: async (data: ViewVO) => {
    return await request.post({ url: `/three/view/create`, data })
  },

  // 修改3d模型
  updateView: async (data: ViewVO) => {
    return await request.put({ url: `/three/view/update`, data })
  },

  // 删除3d模型
  deleteView: async (id: number) => {
    return await request.delete({ url: `/three/view/delete?id=` + id })
  },

  // 导出3d模型 Excel
  exportView: async (params) => {
    return await request.download({ url: `/three/view/export-excel`, params })
  },
}
